﻿using System;
using System.Data.Entity.Infrastructure;

namespace Echegoyen
{
    public interface IContext : IDisposable
    {
        System.Data.Entity.IDbSet<Echegoyen.Models.Autor> Autor { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Editorial> Editorial { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Ejemplar> Ejemplar { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Material> Material { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Prestamo> Prestamo { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Reserva> Reserva { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Tema> Tema { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.TipoMaterial> TipoMaterial { get; set; }
        System.Data.Entity.IDbSet<Echegoyen.Models.Usuario> Usuario { get; set; }

        DbEntityEntry<TEntity> Entry<TEntity>(TEntity entity) where TEntity : class;
        int SaveChanges();
        bool SetModified(object entity);
    }
}
